package com.myapi.client;

import java.util.ArrayList;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.myapi.client.DAO.PlayerDAO;
import com.myapi.client.DAO.TableDAO;

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("Poker")
public interface PokerService extends RemoteService {
	String greetServer(String name);
	
	/**
	 * Update : get info from the server
	 * @return Information about the current table
	 */
	TableDAO update();
	/**
	 * Make a Bet on the current table
	 * @param Amout Amout of the bet
	 * @param id Player's id
	 */
	void Bet(Double Amout,String id);
	/**
	 * Make a Call on the current table
	 * @param Amout Amout of the bet
	 * @param id Player's id
	 */
	void Call(String id);
	/**
	 * Fold the card on the current table
	 * @param Amout Amout of the bet
	 * @param id Player's id
	 */
	void Fold(String id);
	
	/**
	 * Add a player to the next round
	 *  @param name Player's name
	 * @param id Player's id
	 */
	String addPlayer(String name,String id);
	
	/**
	 * Leave Table
	 * @param id Player's id
	 */
	void leaveTable(String id);
	
	/**
	 * Add to the forum the odd of each player
	 */
	void getInfoPokerOdd();
	/*
	 * @gwt.typeArgs <CardDAO>
	 */
	ArrayList notify(String input);

	void addMessage(String msg);

	ArrayList<PlayerHandDAO> getStatistic(PlayerDAO player);
}
